1. Field of the Invention
The present invention relates to methods used to read large volumes of highly formatted data from a mass storage media, and more particularly, to a method and apparatus for communicating error corrected and verified data from a mass media storage device to a host computer.
2. Description of Prior Art
Personal computer and workstation architectures have been increasing both in sophistication and capability. The recent affordability and availability of mass storage peripheral devices, such as hard drives and optical compact disks, has greatly increased the range of applications in which personal computers and workstations can be efficiently used. The retrieval of data by a host computer from a mass storage device requires the implementation of a hardware drive and a software driver. The hardware drive typically includes a spindle, drive electronics and a controller. The drive electronics recovers data from an optical or magnetic disk as directed by the controller. The controller manages the transfer of the data, to include error correction operations, to the host computer.
The transportability of compact optical disks, referred to herein as a compact disk, or CD, is viewed as a major advantage of CD technology (as compared with magnetic hard disk media) by the marketplace. The hardware drive for an optical compact disk is therefore usually designed with a load mechanism, that allows for compact disks to be frequently loaded and unloaded.
The Compact Disk industry has established several data formatting standards that are in wide use today. The conventional methods used to provide efficient and reliable access of data from CDs by personal computers and workstations clearly illustrate the state of prior art related to the present invention. The complexity of managing the transfer of data stored in varying formats will be evident from an overview of the current state of CD data protocols.
The Compact Disk Digital Audio Standard was originally introduced by Philips and Sony for use with audio recording products. This standard, also known as the Red Book Standard, is used today in all consumer audio compact disk players. The Red Book Standard is the original template from which all consumer CD standards have been based.
Most CDs are divided into sectors of 3234 eight-bit bytes. A data sector stored in Red Book format consists of 2352 bits of audio data, 784 bytes of error correction and detection code, and 98 bytes of control data.
Philips and Sony later defined a Yellowbook standard for use with CD read only memory (CD-ROM). The Yellow Book, or CD-ROM, standard has two distinct modes. In Mode 1, the Red Book data field of 2352 bytes is further specified to include 12 Sync bytes, 4 Header bytes, 2048 User Data bytes, 4 Error Detection and Correction (EDC) bytes, 8 blank bytes, and 276 Error Correction Code (ECC) bytes. Mode 2 redefines the 2352 data bytes into 12 Sync bytes, 4 Header bytes, and 2336 User Data bytes. Both Mode 1 and Mode 2 have the additional EDC, ECC and control bytes as specified by the earlier Red Book standard. (These additional Red Book EDC/ECC and Control bytes are often referred to as comprising a first and second layer.)
In addition to the three formats described above, the compact disk industry also uses the CD-ROM Mode 2, XA Format and CD-I (Green Book) standards. The CD-ROM Mode 2, XA Format is an extension of the Yellow Book standard and defines two distinct forms. CD-ROM Mode 2, XA Format, Form 1 is used for computer data. CD-ROM Mode 2, XA Format, Form 2 is used for compressed audio data and video/picture data. Mode 2 further defines two distinct forms. CD-ROM Mode 2, XA Format Form 1 is used for computer data. This XA Form 1 format consists of 12 Sync bytes, 4 Header bytes, 8 Sub-Header bytes, 2048 User Data bytes, 4 EDC bytes, 276 ECC bytes, and the additional Red Book first and second layer EDC/ECC and Control bytes.
The XA Form 2 format consists of 12 Sync bytes, 4 Header bytes, 8 Sub-Header bytes, 2324 User Data bytes, 4 EDC bytes and the additional Red Book first and second layer EDC/ECC and Control bytes.
The CD-I, or Green Book, standard is specified within the CD-ROM Mode 2, XA Format convention. Green Book format includes is specified to comprise 12 Sync bytes, 4 Header bytes, 8 Sub-Header bytes, 2324 User Data bytes and 4 EDC bytes. Green Book Form 1 is used for computer data and contains third layer (Red Book) EDC/ECC bytes. Green Book Form 2 is used for compressed audio and video/picture data. This Form 2 does not include third layer EDC/ECC (Red Book) bytes.
It is not uncommon for a given CD to be used in mixed mode, where data is stored in more than one format. A typical example would include a first track in Yellow Book, CD-ROM Mode 1, and all remaining tracks in Red Book (audio) format. Although the CD drive electronics can read only one track at a time, the CD drive controller must still be able to receive data in a number of significantly different formats, perform error correction, and retransmit the validated data to a host computer.
The conventional methods of CD drive controller operations use a sequential technique where all data incoming from a CD is simply stored in consecutive memory locations. With these methods, the controller must track the starting address and length of each data block by sector and by type. This especially true for successful completion of ECC and EDC error correction operations.
If only the corrected User Data is to be transmitted to the host computer, the PG,5 starting address of each DSP block must be stored by the system controller of the host computer, and this starting address must be read by the system controller when the host computer is ready to receive a new block of data.